home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / modules / nessus-2.2.8.mo / usr / lib / nessus / plugins / ismail_overflow.nasl < prev    next >
Text File  |  2005-01-14  |  2KB  |  85 lines

  1. #
  2. # This script was written by Renaud Deraison <deraison@cvs.nessus.org>
  3. #
  4. # See the Nessus Scripts License for details
  5. #
  6. # Ref:
  7. # Message-ID: <000001c2deba$8928f000$0200a8c0@r00t3d.net>
  8. # From: "NGSSoftware Insight Security Research" <mark@ngssoftware.com>
  9. # To: <bugtraq@securityfocus.com>, <ntbugtraq@listserv.ntbugtraq.com>,
  10. #        <vulnwatch@vulnwatch.org>
  11. # Subject: [VulnWatch] ISMAIL (All Versions) Remote Buffer Overrun
  12. #
  13.  
  14. if(description)
  15. {
  16.  script_id(11272);
  17.  script_version ("$Revision: 1.5 $");
  18.  
  19.  name["english"] = "ISMail overflow";
  20.  
  21.  script_name(english:name["english"]);
  22.  
  23.  desc["english"] = "
  24.  
  25. The remote SMTP server (probably ISMail) seems to be vulnerable
  26. to a buffer overflow which could allow an attacker to
  27. gain LOCALSYSTEM privileges on this host.
  28.  
  29. Solution : Upgrade to version 1.4.5 of ISMail
  30. See also : 
  31. Risk factor : High";
  32.  
  33.  
  34.  script_description(english:desc["english"]);
  35.             
  36.  
  37.  summary["english"] = "Checks if the remote mail server can be used to gain a shell"; 
  38.  
  39.  script_summary(english:summary["english"]);
  40.  
  41.  script_category(ACT_ATTACK);
  42.  
  43.  script_copyright(english:"This script is Copyright (C) 2003 Renaud Deraison");
  44.  
  45.  family["english"] = "SMTP problems";
  46.  family["francais"] = "ProblΦmes SMTP";
  47.  script_family(english:family["english"], francais:family["francais"]);
  48.  script_dependencie("find_service.nes", "smtpserver_detect.nasl");
  49.  script_exclude_keys("SMTP/wrapped", 
  50.               "SMTP/microsoft_esmtp_5", 
  51.              "SMTP/qmail", 
  52.              "SMTP/postfix");
  53.  script_require_ports("Services/smtp", 25);
  54.  exit(0);
  55. }
  56.  
  57. include("smtp_func.inc");
  58.  
  59.  
  60. port = get_kb_item("Services/smtp");
  61. if(!port)port = 25;
  62. if(!get_port_state(port))exit(0);
  63.  
  64. soc = open_sock_tcp(port);
  65. if(!soc)exit(0);
  66. banner = smtp_recv_banner(socket:soc);
  67. send(socket:soc, data:string("HELP\r\n"));
  68. r = smtp_recv_line(socket:soc);
  69.  
  70. # The typo is _normal_, this is how we recognize ISMail
  71. if("502 Command not implmented" >< r)
  72. {
  73. send(socket:soc, data:string("HELO example.com\r\n"));
  74. r = smtp_recv_line(socket:soc);
  75.  
  76. # This is not a buffer overflow. I doubt anything would crash on that.
  77. send(socket:soc, data:string("MAIL FROM: <nessus@", crap(255), ".org>\r\n"));
  78. r = smtp_recv_line(socket:soc);
  79.  
  80. # Patched version should send an error for such a long domain
  81. if(egrep(pattern:"^250 Action.*", string:r))security_hole(port);
  82. send(socket:soc, data:string("QUIT\r\n"));
  83. close(soc);
  84. }
  85.